// pages/study/study.js


// 使用云数据库
const db = wx.cloud.database();

// 定义全局对象
let app =getApp()

Page({

    /**
     * 页面的初始数据
     */
    data: {
        // 节流阀标志(取值false和true)
        isloading:false,

        // 问候对话框显示标志(取值'none'和'flex')
        top_imageTextstate:'none',

        // 小知识对话框显示标志(取值'none'和'flex')
        Random_top_imageTextstate:'none',

        // 按钮样式
        buttonColor_1:'#46d5fa',
        buttonColor_2:'#78e2fb',

        // 显示tab栏标志(取值'farming_tab'和'laws_tab')
        state:'farming_tab',

        // 侧边栏选中标志(值为左侧数据项的序号)
        flag: 1,

        // 右侧区域显示标志(值为左侧数据项的序号)
        currentTab: 1,

        // 农林教学tab栏数据
        farming_tab:[
            {id:1,title:'栽培柑橘'},
            {id:2,title:'栽培葡萄'},
            {id:3,title:'栽培西红柿'},
            {id:4,title:'栽培苹果'},
            {id:5,title:'栽培火龙果'},
            {id:6,title:'栽培西瓜'},
            {id:7,title:'栽培荔枝'},
            {id:8,title:'栽培蜜柚'},
            {id:9,title:'栽培辣椒'},
            {id:10,title:'栽培黄瓜'},
            {id:11,title:'栽培大姜'},
            {id:12,title:'栽培马铃薯'},
            {id:13,title:'栽培玉米'},
            {id:14,title:'栽培白菜'},
            {id:15,title:'栽培花生'},
            {id:16,title:'栽培茄子'},
        ],

        // 普法栏目tab栏数据
        laws_tab:[
            {id:1,title:'劳动纠纷'},
            {id:2,title:'医疗纠纷'},
            {id:3,title:'房产纠纷'},
            {id:4,title:'合同纠纷'},
            {id:5,title:'债权债务'},
            {id:6,title:'交通事故'},
            {id:7,title:'刑事辩护'},
            {id:8,title:'婚姻家庭'},
        ],


        // 临时农林教学内容数据
        temp_farmingList:[],

        // 农林教学内容数据
        farmingList:[],


        // 临时普法栏目内容数据
        temp_lawsList:[],

       // 普法栏目内容数据
        lawsList:[],

        // 问候语集合
        Greeting:[
            '你今天学习了吗<(^-^)>你今天学习了吗<(^-^)>你今天学习了吗<(^-^)>',
            '你今天学习了吗<(^-^)>你今天学习了吗<(^-^)>你今天学习了吗<(^-^)>',
            '你今天学习了吗<(^-^)>你今天学习了吗<(^-^)>',
            '你今天学习了吗<(^-^)>你今天学习了吗<(^-^)>',
            '你今天学习了吗<(^-^)>你今天学习了吗<(^-^)>',
            '你今天学习了吗<(^-^)>你今天学习了吗<(^-^)>',
            '你今天学习了吗<(^-^)>',
            '你今天学习了吗<(^-^)>',
            '你今天学习了吗<(^-^)>',
            '你今天学习了吗<(^-^)>'
        ],
        // 农技教学小知识集合
        farming_quotation:[
            '倒萍越早，早稻越好',
            '冬草肥田，春草肥禾',
            '好种出好苗，良种产量高',
            '秋后不深耕，来年虫子生',
            '锅底无柴难烧饭，田里无粪难增产',
            '看田选种，看种种田',
            '旱锄地发暖，多锄地不板',
            '谷子黄，选种藏',
            '年外不如年里，年里不如掩底',
            '谷在犁上，菜在锄上',
        ],
        // 普法栏目小知识集合
        laws_quotation:[
            '为法，必使之明白易知',
            '刑过不避大臣，赏善不遗匹夫',
            '天下有定理而无定法',
            '喜不可从有罪，怒不可杀无辜',
            '罚不讳强大，赏不私亲近',
            '法立，有犯而必施；令出，惟行而不返',
            '吏不良，则有法而莫守；法不善，则有财而莫理',
            '公私不可不明，法制不可不审',
            '夫立法令者，以废私也，法令行而私道废',
            '政令必行，宪禁必从。曲木恶直绳，重罚恶明证',
        ],
        // 随机问候语
        RandomGreeting:'',
        // 随机语录小知识
        RandomQuotation:'',

    },

    // 展示随机对话框（参数x用来区分农技教学和普法栏目）
    Randomtoshow_imageText:function(x){
        if(this.data.isloading){
            return
        }
        else{
            let RandomNum =Math.floor(Math.random() * 10)
            let that = this
            that.setData({
                isloading:true,
                RandomQuotation:x[RandomNum],
                Random_top_imageTextstate:'flex'
            })
            // 显示4秒后隐藏
            setTimeout(function(){
                that.setData({
                    Random_top_imageTextstate:'none',
                    isloading:false
                }) 
            },4000)
        }
    },
    
    // 展示对话框
    toShowtop_imageText:function(){
        let that = this
        if(that.data.isloading){
            return
        }
        else{
            let RandomNum =Math.floor(Math.random() * 10)
            that.setData({
                RandomGreeting:this.data.Greeting[RandomNum],
                isloading:true,
                top_imageTextstate:'flex'
            })
            // 显示3秒后隐藏
            setTimeout(function(){
                that.setData({
                    top_imageTextstate:'none',
                    isloading:false
                }) 
            },3000)
        }
    },

    // 学习农技教学(加载农技教学数据)
    Studyfarmingtips:function(){
        this.setData({
            buttonColor_1:'#46d5fa',
            buttonColor_2: '#78e2fb',
            state: 'farming_tab',
            flag:1,
            currentTab:1
        })
        // 显示农学小知识
        this.Randomtoshow_imageText(this.data.farming_quotation)
    },

    // 学习普法栏目(加载普法栏目数据)
    Studylaws:function(){
        this.setData({
            buttonColor_1:'#a4ebe0',
            buttonColor_2: '#48d296',
            state: 'laws_tab',
            flag:1,
            currentTab:1
        })
        // 显示法律小知识
        this.Randomtoshow_imageText(this.data.laws_quotation)
    },
    
    // 切换侧边栏函数
    switchNav: function(e) {
        // console.log(e)
        let that = this;
        // 获取当前点击项的id
        let id = e.target.id;
        // 判断存储的点击项和当前的点击项是否一致
        if (that.data.currentTab == id) {
            return;
        }
        // 如果不一致,进行更新
        else {
            that.setData({
                flag: id,
                currentTab: id,
            });
        }
    },

    // 加载普法栏目数据函数
    loadlawsData:function(){
        wx.showLoading({
            title: '数据加载中...',
            mask:true
        })
        let that = this
        let promise = new Promise((reslove,reject)=>{
            db.collection('lawsVideo').count().then(async res =>{
                let total = res.total;
                // 每次取五条数据，计算取的次数
                const batchTimes = Math.ceil(total / 5)
                 // 清空临时数组
                that.setData({
                    temp_lawsList:[]
                })
                // 承载所有读操作的 promise 的数组
                for (let i = 0; i < batchTimes; i++) {
                    await db.collection('lawsVideo').skip(i * 5).limit(5).get().then(async res => {
                        // console.log(res.data)
                        let new_data = res.data
                        let old_data = that.data.temp_lawsList
                        that.setData({
                            temp_lawsList:old_data.concat(new_data)
                        })
                    })
                }
                reslove();
            })
        })
        promise.then(res=>{
            let temp_lawsList = that.data.temp_lawsList
            let laws_tab = that.data.laws_tab
            // 初始化数组长度(根据tab长度而定)
            let outArr=[]
            for(var i=0;i<laws_tab.length;i++){
                outArr.push([]);
            }
            // 将数据库的temp_lawsList数据进行分类存储
            for (let i = 0; i < temp_lawsList.length; i++) {
                let temp_flag = temp_lawsList[i].type
                for (let j = 0; j < laws_tab.length; j++) {
                    if(temp_flag === laws_tab[j].title){
                        outArr[j].push(temp_lawsList[i])
                        break
                    }   
                }
            }
            wx.hideLoading({
                success: (res) => {
                    // 保存分完类的列表到lawsList
                    that.setData({
                        lawsList:outArr
                    })
                },
            })
        })
    },
    // 加载农技教学数据函数
    loadfarmingData:function(){
        wx.showLoading({
            title: '数据加载中...',
            mask:true
        })
        let that = this
        let promise = new Promise((reslove,reject)=>{
            db.collection('farmingVideo').count().then(async res =>{
                let total = res.total;
                // 每次取五条数据，计算取的次数
                const batchTimes = Math.ceil(total / 5)
                 // 清空临时数组
                that.setData({
                    temp_farmingList:[]
                })
                // 承载所有读操作的 promise 的数组
                for (let i = 0; i < batchTimes; i++) {
                    await db.collection('farmingVideo').skip(i * 5).limit(5).get().then(async res => {
                        // console.log(res.data)
                        let new_data = res.data
                        let old_data = that.data.temp_farmingList
                        that.setData({
                            temp_farmingList:old_data.concat(new_data)
                        })
                    })
                }
                reslove();
            })
        })
        promise.then(res=>{
            let temp_farmingList = that.data.temp_farmingList
            let farming_tab = that.data.farming_tab
            // 初始化数组长度(根据tab长度而定)
            let outArr=[]
            for(var i=0;i<farming_tab.length;i++){
                outArr.push([]);
            }
            // 将数据库的temp_farmingList数据进行分类存储
            for (let i = 0; i < temp_farmingList.length; i++) {
                let temp_flag =temp_farmingList[i].type
                for (let j = 0; j < farming_tab.length; j++) {
                    if(temp_flag === farming_tab[j].title){
                        outArr[j].push(temp_farmingList[i])
                        break
                    }   
                }
            }
            // wx.hideLoading({
                // success: (res) => {
                    // 保存分完类的列表到farmingList
                    that.setData({
                        farmingList:outArr
                    })
                // }
            // })
        })
    },

    // 跳转到农林教学详情页
    jumpFarmingDetail:function(e){
        console.log(e)
        let data_id = e.currentTarget.dataset.id;
        console.log(data_id);
        // 将内容id作为参数传到详情页
        wx.navigateTo({
            url: '/pages/FarmingvideoDetail/FarmingvideoDetail?id='+data_id,
        })
    },

     // 跳转到普法栏目详情页
     jumpLawsDetail:function(e){
        console.log(e)
        let data_id = e.currentTarget.dataset.id;
        console.log(data_id);
        // 将内容id作为参数传到详情页
        wx.navigateTo({
            url: '/pages/LawsvideoDetail/LawsvideoDetail?id='+data_id,
        })
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        // 首次进入界面显示农技教学小知识对话框
        this.Randomtoshow_imageText(this.data.farming_quotation)
        this.loadfarmingData()
        this.loadlawsData()
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },
    onShow:function(){
        if(app.globalData.state === 'laws_tab'){
            this.Studylaws()
            app.globalData.state = 'null'
        }
        if(app.globalData.state === 'farming_tab'){
            this.Studyfarmingtips()
            app.globalData.state = 'null'
        }
    },
    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})